This invention relates to certifications used in connection with secure and authorized communications.
In some applications, a user who wishes to obtain goods or services from a provider is asked to authorize a charge against the user's credit card number. In such applications, the security concern lies most heavily on the user, who worries about the security of the transmitted information. In other applications, a user may seek to obtain proprietary information from the provider, and there the security concern lies most heavily on the provider. In the latter situation, however, the provider is also concerned about the identity of the user.
With respect to securing communication, it is well known that secret keys may be used to encrypt information, but that requires both parties to have a secret key. Consequently, a party that communicates with many people needs to have many different secret keys. The effort to securely distribute and manage many secret keys was considered just too great, until public key encryption was invented. In public key encryption, a party, say Alice, develops a pair of keys: one is private (which the party keeps secret) and one is public (which the party makes available to others). Unless her secret key is compromised, no one but Alice can encrypt a message that can be decrypted with Alice's public key, and no one but Alice can decrypt a message that was encrypted with Alice's public key. Thus, public key encryption eliminates the need to securely exchange secret keys and also eliminates the need to have and to manage many secret keys.
Public key encryption, however, does not eliminate concerns about the identity of the party supplying the public key. The reason: anyone can claim to be Alice. To remedy this problem, the notion of certification was created whereby Bob can demand a certificate which confirms that the party is who it claims to be. To obtain a certificate, Alice authenticates herself to a certification authority (CA) in some manner that satisfies the CA. For example, the CA may require Alice to show her driver's license, an original birth certificate, or even more. Alice is then given (or creates) a public key encryption pair, and is given a certificate that is derived by the CA from information that binds the certificate to Alice. The information may comprise, for example, Alice's name, some information that further identifies Alice, and her public key. When Alice wishes to contact Bob, she submits her certificate and Bob decrypts it with CA's public key. The decrypted certificate identifies Alice and Alice's public key, and Bob is assured that a person named Alice owns a private key that corresponds to the public key which the decrypted certificate provided.
This certification approach still has a problem, however, in that while Alice was certified by the CA at one point, she may no longer be certified, in the sense of still being authorized to receive the information that Bob may have. To that end, the certification process is augmented, requiring Bob to check Alice's certification against a revocation list. This list is accessed by downloading a revocation list at some regular intervals from a revocation list storage means.
A number of problems remain, however, with the certification approach, and which relate to the fact that the certificates are long-lived and there is a private key that is associated with the certificate. For one, it introduces a burden on the mobility of users because it requires users to carry with them their private key. Of course, that represents a security risk. Another problem is that the longevity of a certificate provides an incentive to discover, or break, the private key that is associated with the public key found in the certificate. To reduce the risk to the private key, users typically increase the length of their keys, but that increases the computational burden of the applications that encrypt or decrypt the communicated information. A third problem relates to the cost of managing and administering the valid and revoked certificates for large scale intranet environments.